﻿using System.Windows; 

namespace RevitProject.SpaceManager.Views
{
    /// <summary>
    /// InputDialog.xaml 的交互逻辑。
    /// 一个简单的模态对话框，用于获取用户文本输入。
    /// </summary>
    public partial class InputDialog : Window
    {
        /// <summary>
        /// 获取用户在文本框中输入的值。
        /// </summary>
        public string ResponseText
        {
            get { return InputTextBox.Text; }
        }

        /// <summary>
        /// 构造函数。
        /// </summary>
        /// <param name="prompt">显示给用户的提示信息。</param>
        /// <param name="title">窗口标题。</param>
        /// <param name="defaultValue">文本框中的默认值。</param>
        public InputDialog(string prompt, string title = "输入", string defaultValue = "")
        {
            InitializeComponent();
            this.Title = title;         // 设置窗口标题
            PromptTextBlock.Text = prompt; // 设置提示信息
            InputTextBox.Text = defaultValue; // 设置默认文本
            InputTextBox.Focus();       // 将焦点设置到输入框
            InputTextBox.SelectAll();   // 选中默认文本，方便用户直接修改
        }

        // “确定”按钮点击事件处理程序
        private void OkButton_Click(object sender, RoutedEventArgs e)
        {
            // (可选) 在这里可以添加一些基本的输入验证
            // if (string.IsNullOrWhiteSpace(InputTextBox.Text))
            // {
            //     MessageBox.Show(this, "输入内容不能为空。", "验证错误", MessageBoxButton.OK, MessageBoxImage.Warning);
            //     return; // 阻止窗口关闭
            // }

            this.DialogResult = true; // 设置对话框结果为 True
            this.Close();              // 关闭窗口
        }

        // “取消”按钮点击事件处理程序
        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false; // 设置对话框结果为 False
            this.Close();               // 关闭窗口
        }
    }
}